package gameLogic;

abstract class Player extends EventGenerator{
	protected Board b;
	protected BoardState side;
	protected Observer ob;
	
	public Player(Board b, BoardState s, Observer ob) {
		this.b = b;
		this.side = s;
		this.ob = ob;
	}
	
	protected void manualOverride() {
		Move move = new Move(-1,-1,BoardState.EMPTY);
		generateEvent(move);
		System.out.println("Override:"+move);
		if(move.x != -1 && move.y != -1) {
			move.v = this.side;
			System.out.println(move);
			b.makeMove(move);			
		}
	}
	
	public abstract void makeMove();
}
